בשאלה זו נמשיך לעסוק במערכת לטיהור המים בה עסקנו במועד א'. המערכת מורכבת, כזכור, מהאובייקטים הפסיביים הבאים:.Pool. .Purifier בממשק מוגדרת המתודה
|
|
- Christal Lamb
- 5 years ago
- Views:
Transcription
1 אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו בהצלחה! תאריך הבחינה: שם המורה: ד"ר מיכאל אלחדד ד"ר מני אדלר מר אוריאל ברגיג שם הקורס: תכנות מערכות מספר הקורס: מיועד לתלמידי: מדעי המחשב, הנדסת תוכנה שנה: תש"ע סמסטר: א' מועד: ב' משך הבחינה: שלש שעות חומר עזר: אסור 30) שאלה 1 נקודות) בשאלה זו נמשיך לעסוק במערכת לטיהור המים בה עסקנו במועד א' המערכת מורכבת, כזכור, מהאובייקטים הפסיביים הבאים: Pool (WaterPool - עבור מים מטוהרים ועבור מים משומשים - המממשים את הממשק WaterPool) שני מיכלים - המחזירה getquality() Purifier בממשק מוגדרת המתודה (WaterPurifier המממש את הממשק מטהר מים ) - המקבלת כמות של מים משומשים purify את כמות המים באחוזים שניתן לטהר באיכות טובה והמתודה ומחזירה כמות של מים מטוהרים בסימולציה רצים 3 אובייקטים אקטיביים: : הוספת מים למיכל המים המטוהרים (למשל זרימת ProducingTask :Producer ת'רד הרץ מעל המשימה - המים מהקו העירוני לצנרת הבית) : צריכת מים ממיכל המטהורים והעברתם בתום ConsumingTask :Consumer ת'רד הרץ מעל המשימה - השימוש למיכל המים המשומשים (למשל צרכן הפותח ברז, צורך מים, והמים מתנקזים למאגר המים המיועדים לטיהור) : לקיחת מים ממיכל המים המשומשים, טיהורם בעזרת Purifying ngtask : Purifier ת'רד הרץ מעל המשימה - מטהר המים, והוספתם למיכל המים המטוהרים (כמו פעולת המערכת לטיהור המים האפורים) Purifier Water Purifier Used Water Purified Water Consumer Producer הקוד המקורי של המערכת, בדיוק כפי שהופיע במועד א', ניתן בנספח א' א במועד א' נוכחנו לדעת כי המערכת בטוחה האם ההרצה של המערכת מקיימת נכונות? (כזכור, הרצת מערכת תוגדר כנכונה, אם לכל תוצאה של ביצוע מקבילי קיימת תוצאה סדרתית מתאימה, בסדר כל שהוא של פעולות) נמקו [5 נקודות] 1
2 ב ג ד הסבירו מדוע ביצוע interrupt() על כל אחד משלושת הת'רדים במערכת, לא יגרום בהכרח להפסקת וכן אין לשנות את Systemexit exit ריצתו ועדכנו את הקוד כך שעבודתו תופסק בכל מקרה אין להשתמש ב WaterPool 10] נקודות] חתימות המתודות ב הסבירו מדוע ה,Producer הממתין להתרוקנות מיכל המים המטוהרים, יתעורר גם אם נוספו מים למיכל על ידי ה?Purifier [3 נקודות] כך שת'רד הממתין לירידה בכמות המים לא יתעורר בעקבות הוספת מים WaterPool עדכנו את המחלקה על ידי ת'רד אחר וכן להפך, ת'רד הממתין לתוספת מים לא יתעורר בעקבות הורדת מים על ידי ת'רד אחר רמז: השתמשו במוניטורים שונים עבור ההמתנות [12 נקודות] 30) שאלה 2 נקודות) נתונות המחלקות הבאות המייצגות מחסנית של אירועים הקוד תקין: class Event { public: Event(int id) : _id(id) {; virtual ~Event() { private: const int _id; ; class SellingEvent : public Event { public: SellingEvent(int id, int price) : Event(id), _price(price) {; virtual int price() {return _price; private: int _price; ; // NOTE: nodes are double linked with next and prev // all field are public class EventNode { public: EventNode(){; Event *data; EventNode *next; EventNode *prev; ; // EventsStack manages a double linked stack based on EvenNode class EventsStack { private: EventNode *_top; 2
3 EventNode *_last; public: EventsStack(); void push(event *data); void pop(); ; EventsStack::EventsStack():_top(0),_last(0){; // Note: take your time to understand how push works void EventsStack::push(Event *e) { EventNode *q = new EventNode(); q->data = e; q->next = _top; q->prev = 0; if (_top!= 0) _top->prev = q; _top = q; if (_last == 0) _last = q; בסעיפים א-ב יש לצייר את תמונת הזיכרון של התהליך הכוללת ערכים הנמצאים במחסנית, ערכים הנמצאים stack ("נמחקו pointer vtables אין לאייר ערכים שמתחת ל אם יש אין לאייר את ה vtable בערימה ומצביעי מהמחסנית") כל סעיף יש לאייר מחדש לכל תא זיכרון באיור יש לכלול מספר המייצג את כתובתו ומספר המייצג את ערכו הוא 4 נקבע כי כתובות בערימה הם בתחום 1000 עד 3000 וכי כתובת המחסנית int גודלם של מצביעים ו מתחילה ב 5000 ועולה כשהמחסנית גדלה א ציירו את תמונת הזיכרון לאחר ביצוע השורות הבאות [7 נקודות] void main() { EventsStack eventstack; Event e1(1); eventstackpush(&e1); ב ציירו את תמונת הזיכרון לאחר ביצוע השורות הבאות [8 נקודות] void main() { EventsStack eventstack; Event *e1 = new Event(1); eventstackpush(e1); SellingEvent e2(2,20); eventstackpush(&e2); 3
4 EventsStack פעולת ההעתקה צריכה להיות עמוקה מחסנית האירועים ג הוסיפו מימוש לבנאי מעתיק עבור כך שיווצרו הצבעות כפולות ל Event -ים ניקוד מלא יינתן EventNodes צריכה להיות מועתקת כולל כל ה- לפתרון אלגנטי (כ - 4 שורות קוד) [7 נקודות] void EventsStack:: ::pop pop() ד הוסיפו את המימוש לשיטה next,_,_top top,_,_last לעדכון ערכי [8 נקודות] המוציאה את האיבר הראשון מהמחסנית יש לשים לב במידת הצורך במקרים בהם יש איבר יחיד או במקרים בהם יש מספר אברים prev,next 30) שאלה 3 נקודות),Stomp בשאלה זו נמשיך לעסוק במערכת ממועד א', תהליך ביניים המספק ממשקי RMI המפשטת את העבודה של הלקוח מול ה לשרת בעזרת StompClient 1 StompClientRMI StompServer StompConnector_STUB StompOperator_STUB 1 StompClient n subscribe unsubscribe send getmessages connect StompConnector StompOperator 1 StompOperator n CONNECT MESSAGE SUBSCRIBE UNSUBSCRIBE SEND MESSAGE StompOperator_STUB n connect StompConnector_STUB rebind lookup rmiregistry StompConnector_STUB RMI Connection TCP Connection הקוד של המערכת מהפיתרון של מועד א' ניתן בנספח ב' 4
5 getmessages() המממש את במימוש הנוכחי משיכה של ההודעות שהגיעו עד כה נעשית באופן יזום, על ידי הפעלת המתודה StompOperator של () כעת, אנו מעוניינים לקבל הודעות מהשרת באופן שוטף, מבלי לקרוא 'מידי פעם' למתודה (StompClient StompClient) כדי לממש זאת, הציע אחד המתרגלים בקורס, להגדיר אצל הלקוח message MessageReceiver ממשק זה מאפשר להעביר הודעה על ידי הפעלת המתודה הממשק getmessages() RemoteObject public interface MessageReceiver extends javarmiremote { void message(string str) throws javarmiremoteexception;,messagereceiver (StompClient רוצה להתחבר לשרת, הוא מייצר מראש אובייקט המממש StompClient) כאשר לקוח connect כפרמטר למתודה, על ידי הפעלת המתודה StompClientRMI הודעות מהשרת יועברו ללקוח ב המתודה הינו למעשה תגובת הלקוח להודעה שנקבלה) שונתה בהתאם - פרמטר נוסף מסוג StompConnector בממשק connect חתימת המתודה של אובייקט זה ומעבירו (מימוש : MessageReceiver message public interface StompConnector extends javarmiremote { StompOperator connect(string login, String passcode,, MessageReceiver messagereceiver) throws javarmiremoteexception,ioexception; : StompOperator getmessages() כעת לא נדרשת יותר המתודה בממשק public interface StompOperator extends javarmiremote { void subscribe(string groupname) throws javarmiremoteexception,ioexception; void unsubscribe(string groupname) throws javarmiremoteexception,ioexception; void send(string groupname, String str) throws javarmiremoteexception,ioexception; List<String> getmessages() throws javarmiremoteexception,ioexception; להלן מימוש של ממשקים אלו: public class MessageReceiverImp extends javarmiserverunicastremoteobject implements MessageReceiver { MessageReceiverImpl() throws javarmiremoteexception { public void message(string str) throws javarmiremoteexception ion { Systemoutprintln(str); public class StompConnectorImpl extends javarmiserverunicastremoteobject implements StompConnector { protected String _stompserverhost; protected int _stompserverport; public StompConnectorImpl(String tring stompserverhost, int stompserverport) throws javarmiremoteexception { _stompserverhost = stompserverhost; 5
6 _stompserverport = stompserverport; public StompOperator connect (String login, String passcode, MessageReceiver messagereceiver Receiver) throws javarmiremoteexception,ioexception { Socket socket = new Socket(_stompServerHost, _stompserverport); PrintWriter out = new PrintWriter(new OutputStreamWriter(socketgetOutputStream(),"UTF-8")); outprint("connect ONNECT\nlogin: " + login + "\npasscode:" " + passcode + "\n\n"" n" + '\0');' return new StompOperatorImpl(socketgetInputStream(),socketgetOutputStream(),messageReceiver messagereceiver); StompOperatorImpl א עדכנו את הקוד המקורי של המחלקה ההודעות מהשרת [6 נקודות] כך שיממש את האופן החדש של קבלת StompClient ב עדכנו את הקוד ב StompClient כך שיתאים למערכת החדשה יש לדאוג לכך שההודעות המתקבלות מהשרת יודפסו על המסך של התהליך קבלתן [6 נקודות] מיד עם ג ד עדכנו את הקוד מסעיף ב' (אם לא עניתם על סעיפים א-ב, התייחסו לקוד המקורי), כך שבתגובה לקבלת,(StompClient הודעת תגובה, המאשרת את קבלת ההודעה: StompClient) הודעה, י ש ל ח מהזיכרון של תהליך הלקוח " ניתן לשנות את חתימת המתודות בממשקים [10 נקודות] Got your message: <received message> " ציינו נכון/ לא נכון עבור הקביעות הבאות: I הוספת תהליכי הביניים* יקרה יותר מבחינת מספר פעולות תקשורת II הוספת תהליכי הביניים* מורידה את רמת האמינות של שליחת ההודעות III מימוש ה StompServer עם reactor חוסך משאבי זיכרון עבור מספר רב של לקוחות IV מימוש ה StompServer עם reactor משרת באופן הוגן יותר מספר רב של לקוחות * תהליכי הביניים הם ClientRMI, rmiregistry שנוספו למערכת המקורית של תרגיל 3, שהתבססה רק על StompClient ו StompServe [8 נקודות] 6
7 10) שאלה 4 נקודות) במועד א' בנינו מודל נתונים עבור לוח זמני הטיסות של נמל התעופה בן גוריון כזכור, לכל טיסה יש מספר זיהוי יחודי בנוסף, מתאפיינת הטיסה על פי היעד שלה, מספר הטרמינל, שער היציאה, תאריך ושעת הטיסה, והמטוס המבצע את הטיסה מטוס מתאפיין על פי מספר יחודי, וציון הסוג שלו לכל סוג מטוס יש מחרוזת המתארת את המפרט הטכני שלו, וכן שדה המציין את קיבלת הנוסעים המקסימאלית להלן תאור של המודל כטבלאות ומפתחות ב :SQL CREATE TABLE PlaneModels ( Model varchar(20) PRIMARY KEY, TechnicalSpec varchar(10000) Capacity integer) i CREATE TABLE Planes ( ID integer PRIMARY KEY, Model varchar(20) FOREIGN KEY REFERENCES PlaneModels(Model)) CREATE TABLE Flights ( ID integer PRIMARY KEY, Destination varchar(100), Terminal varchar(20), ExitGate varchar(20), ExitDate date, ExitTime time, PlaneId integer FOREIGN KEY REFERENCES Planes(ID)) א הרחיבו את מודל הנתונים כך שיכלול את הנתונים הבאים: שם הטייס המטיס את המטוס תאריך הטיפול הבא של המטוס קיבולת מחלקת העסקים [6 נקודות] ב כתבו שאילתת SQL המחזירה את מספרי הטיסות ואת קיבולת מחלקת העסקים שלהם, היעדים בסדר עולה [4 נקודות] ממוינים על פי 7
8 נספח א': הקוד המקורי של המערכת של השאלה הראשונה, כפי שהופיע במועד א' interface Pool { long getcapacity(); float getcontent(); float remove(); void add(float addition); class WaterPool implements Pool { private final long _capacity; private float _content; WaterPool(float content, long capacity) { _content = content; _capacity = capacity; public long getcapacity() { return _capacity; public synchronized float getcontent () { return _content; public synchronized float remove() { while (_content == 0) try { wait(); catch (InterruptedException e) { return 0; float ret = _content; _content = 0; notifyall(); return ret; public synchronized void add(float addition) { while (_content + addition > _capacity) try { wait(); catch (InterruptedException e) { return; _content += addition; notifyall(); interface Purifier { float getquality(); float purify(float capacity); class s WaterPurifier implements Purifier { private final float _quality; WaterPurifier(float quality) { _quality = quality; public float getquality() { return _quality; public float purify (float content) { 8
9 try { Threadsleep((long)content); t); // sleep to simulate using the water catch (InterruptedException e) { return 0; return _quality * content; class ProducingTask implements Runnable { private Pool _purifiedpool; ProducingTask (Pool purifiedpool) { _purifiedpool = purifiedpool; public void run() { while (true) _purifiedpooladd(_purifiedpoolgetcapacity()); class PurifyingTask implements Runnable { private Pool _usedpool, _purifiedpool; private Purifier _purifier; ier; PurifyingTask (Pool usedpool, Pool purifiedpool, Purifier purifier) { _usedpool = usedpool; _purifiedpool = purifiedpool; _purifier = purifier; public void run() { while (true) _purifiedpooladd(_purifierpurify(_usedpoolremove())); edpoolremove())); class ConsumingTask implements Runnable { private Pool _purifiedpool, _usedpool; ConsumingTask (Pool purifiedpool, Pool usedpool) { _purifiedpool = purifiedpool; _usedpool = usedpool; public void run() { while (true) { float w = _purifiedpoolremove(); try { Threadsleep((long)w); catch (InterruptedException e) { return; _usedpooladd(w); class Test { public static void main(string[] args) { 9
10 Pool purifiedwaterpool = new WaterPool(0, 1000); Pool usedwaterpool = new WaterPool(0, 1000); Purifier waterpurifier = new WaterPurifier(08 8); new Thread(new ProducingTask(purifiedWaterPool))start(); new Thread(new PurifyingTask(usedWaterPool, ol, purifiedwaterpool, waterpurifier))start(); new Thread(new ConsumingTask(purifiedWaterPool, usedwaterpool))start(); נספח ב': הקוד המקורי של המערכת של השאלה השלישית, כפי שהופיע בפיתרון מועד א' public interface StompConnector extends javarmiremote { StompOperator connect(string login, String passcode) throws javarmiremoteexception,ioexception; public interface StompOperator extends javarmiremote { void subscribe(string groupname) throws javarmiremoteexception,ioexception; void unsubscribe(string groupname) throws javarmiremoteexception,ioexception; void send(string groupname, String str) throws javarmiremoteexception,ioexception; List<String> getmessages() throws javarmiremoteexception,ioexception; n; public class StompConnectorImpl extends javarmiserverunicastremoteobject implements StompConnector { protected String _stompserverhost; protected int _stompserverport; public StompConnectorImpl(String stompserverhost, int stompserverport) ort) throws javarmiremoteexception { _stompserverhost = stompserverhost; _stompserverport = stompserverport; public StompOperator connect (String login, String passcode) throws javarmiremoteexception,ioexception { Socket socket = new Socket(_stompServerHost, _stompserverport); PrintWriter out = new PrintWriter(new OutputStreamWriter(socketgetOutputStream(),"UTF-8")); outprint("connect\nlogin: nlogin: " + login + "\npasscode:" " + passcode + "\n\n"" n" + '\0');' return new StompOperatorImpl(socketgetInputStream(),socketgetOutputStream()); public class StompOperatorImpl extends javarmiserverunicastremoteobject, implements StompOperator { 10
11 protected PrintWriter _writer; protected BufferedReader _reader; private List<String> _msgs; // Define a listener task to receive the messages from the Stomp server private class Listener implements Runnable { private MessageTokenizer _tok; public Listener() { _tok = new MessageTokenizer(_reade eader,, '\0'); ' public void run() throws IOException { while (_tokisalive()) ( synchronize (_msgs)( { _msgsadd( msgsadd(_toknexttoken()); public StompOperatorImpl(InputStream in, OutputStream out) throws javarmiremoteexception, eption, IOException { _reader = new BufferedReader(new InputStreamReader(in,"UTF-8")); _writer = new PrintWriter(new OutputStreamWriter(out,"UTF-8")); _msgs = new ArrayList<String>(); // Construct listener new Thread(new Listener(_reader))start(); public void subscribe (String group) throws javarmiremoteexception, IOException { synchronized (_writer( _writer) ) { _writerprint("subscribe\ndestination: ndestination: " + group + "\n\n"" n" + '\0');' public void unsubscribe (String group) throws javarmiremoteexception, IOException { synchronized (_writer( _writer) ) { _writerprint("unsubscribe\ndestination: ndestination: " + group+ "\n\n"" n" + '\0');' public void send (String group, String str) throws javarmiremoteexception, tion, IOException { synchronized (_writer( _writer) ) { _writerprint("send\ndestination: ndestination: " + group+ "\n\n"" " + str + "\n" " + '\0');' public List<String> getmessages() throws javarmiremoteexception { // Snapshot copy of the messages and reset et it List<String> res; synchronized (_msgs)( { res = new ArrayList<String>(_msgs); _msgsclear(); // reset the accumulator to receive new messages return res; 11
12 public class StompClientRMI { public static s void main(string[] args) { try { // Get the address IP/port of the Stomp server from args String stomphost = args[0]; int port = IntegerparseInt(args[1]); StompConnector c = new StompConnectorImpl (stomphost, port); // Publish the connector to the rmiregistry at the given address Namingrebind("rmi:// :2010/StompConnector", c); catch (Exception e) { eprintstacktrace(); public class StompClient { public static void main(string[] args) { try { StompConnector c = (StompConnector ( StompConnector)Naminglookup("rmi:// :2010/StompConnector"); StompOperator s = cconnect("user", "password"); ssubscribe("q1"); ssubscr subscribe("q2"); ssend("q3", "Suzy Surprise"); Threadsleep(60000); for r (String s : cgetmessages()) Systemoutprintln(s); catch (Exception e) { eprintstacktrace(); 12
גיליון תשובות מספר נבחן: סעיף ג (10 נקודות) הגדרת בטיחות הינה שמירה על האינווריאנטה של האובייקטים במהלך ההרצה.
גיליון תשובות מספר נבחן: (30 נקודות) שאלה 1 סעיף א (15 נקודות) remove() המתודה remove() גם משנה את מצב האובייקט,(command) וגם מחזירה ערך.(query) על פי עקרונות העיצוב שלמדנו בכיתה יש להפריד שאילתות מפקודות.
More informationסעיף ב )11 נקודות( public synchronized void advance(staircase staircase) throws InterruptedException staircase!
גיליון תשובות מספר נבחן: 03( שאלה 1 סעיף א )10 @INV: 0
More information- במפלס התחתון (בתחתית המדרגות) ובמפלס העליון (בראש המדרגות) יש מקום לכל הולכי הרגל
אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. בהצלחה! תאריך הבחינה: 24.1.2011 שם המורה: פרופ' מיכאל אלחדד ד"ר מני אדלר ד"ר אנדרי שרף שם הקורס:
More informationד"ר אחיה אליסף מר בני לוטטי פרופ' אנדרי שרף הנדסת תוכנה
אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד, תשובות מחוץ לגיליון לא יבדקו. שימו לב: על תשובות ריקות יינתן 20% מהניקוד! בהצלחה! תאריך הבחינה : 13.2.2017 שם המורה : ד"ר
More informationגיליון תשובות מספר נבחן:
גיליון תשובות מספר נבחן: 03( שאלה 1 סעיף א )02 (i) //@PRE: checkinv(other.getx(),other.gety(),other.getradius()) //@POST: getradius() other.getradius() >= // Math.max(Math.abs(getY()-other.getY()),Math.abs(getX()-
More informationמצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }
שאלה : (4 נקודות) א. ב. ג. (5 נקודות) הגדירו את המונח race-condition במדוייק לא להשמיט פרטים. ספקו דוגמא. (5 נקודות) מהו? Monitor נא לספק הגדרה מלאה. ( נקודות) ( נקודות) ציינו כמה תהליכים יווצרו בקוד הבא
More information<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)
הנחיות כלליות: תאריך הבוחן: 10.5.2018 שם המרצה: מני אדלר,מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' משך הבוחן: 2
More informationאוניברסיטת בן-גוריון בהצלחה! מספר נבחן: מדור בחינות רשמו תשובותיכם בשאלון זה בלבד ובמקום המוקצה לכך בלבד! תשובות מחוץ לשאלון לא יבדקו.
אוניברסיטת בןגוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בשאלון זה בלבד ובמקום המוקצה לכך בלבד! תשובות מחוץ לשאלון לא יבדקו. תאריך הבחינה: 13.7.2008 שם המורה: ד"ר מיכאל אלחדד ניר צחר אוריאל ברגיג שם הקורס:
More informationמבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator
מבוא למדעי המחשב 2017 תרגול 8 רשימה משורשרת כללית, Comparator בתרגול היום. LinkedList בניית ההכללה מ- LinkIntList תרגול המבנה ושימושיו ממשקים: Comparator Sorted Linked List ל- LinkedList ע"י שימוש ב- Comparator
More information3 Dynamic Routing A (RIP and OSPF)
אוניברסיטת בן גוריון בנגב המחלקה להנדסת מערכות תקשורת רשתות תקשורת מחשבים - 2 קורס 37110211 מעבדה בתקשורת מחשבים 3 Dynamic Routing A (RIP and OSPF) בשבוע (29/11/2011) 5 בשבוע (13/12/2011) 7 מעבדה מספר
More informationתוכנה 1 סמסטר א' תשע"א
General Tips on Programming תוכנה 1 סמסטר א' תשע"א תרגול מס' 6 מנשקים, דיאגרמות וביטים * רובי בוים ומתי שמרת Write your code modularly top-down approach Compile + test functionality on the fly Start with
More informationתוכנה 1 * לא בהכרח בסדר הזה
תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר
More informationמשתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1
משתנים שעור מס. 2 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 תפקיד המשתנים הצהרה על משתנה השמת ערך במשתנה int a, b, c; a = 1234; b = 99; c = a + b; משתנים מאפשרים לנו לשמור
More informationמבוא לתכנות ב- JAVA תרגול 7
מבוא לתכנות ב- JAVA תרגול 7 רקורסיה - הקדמה הגדרה רקורסיבית: חדר הוא מסודר אם צד שמאל שלו מסודר שלו מסודר. וצד ימין שיטת פתרון רקורסיבית: פתרון מופעים פשוטים יותר של בעיה בכדי לפתור את הבעיה המקורית רקורסיה
More informationלתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions
מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 >>g = [89 91 80 98]; >>p
More informationהנכות 1 םוכיס לוגרת 14 1
תוכנה 1 סיכום תרגול 14 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers
More informationתוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization
מערכים תוכנה 1 Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 תרגול 2: מערכים
More informationרזח יליגרתו םי יראני ב ם
מבוא למדעי המחשב עצים בינאריים ותרגילי חזרה תרגול 13: עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק )בלי צמתים( או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם שאלה עץ בינארי
More informationלתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions
מבוא לתיכנות עם MATLAB 23427 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 203 Based on slides of Dr. Eran Eden, Weizmann 2008 ביטויים לוגיים דוגמא: תקינות
More informationמדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch
1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות שאלה פרק א :1 m a b k k b x I x > a II x < b פלט I && II 0 8 12 8 4 1 9 11 2 10 11 9 8 2 12 35 13 העמודות המסומנות בכחול אינן עמודות חובה בפתרון. שאלה 2:
More informationמערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1
מערכים שעור מס. 4 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 למה מערכים? ברצוננו לאחסן בתוכנית ציוני בחינה כדי לחשב את ממוצע הציונים וסטיית התקן. נניח ש 30 סטודנטים לקחו
More informationתוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes
תוכנה 1 תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes class Outer { static class NestedButNotInner {... class Inner {... מחלקות מקוננות NESTED CLASSES 2 מחלקה מקוננת Class) )Nested
More informationתוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays
מערכים Array: A fixed-length data structure for storing multiple values of the same type תוכנה 1 Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 odds: 1 3 5 7 9 11 13 15 odds.length
More informationתוכנה 1 3 תרגול מס' מערכים ומבני בקרה
תוכנה 1 3 תרגול מס' מערכים ומבני בקרה מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 odds:
More informationאוניברסיטת בן-גוריון מדור בחינות רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. בהצלחה! מספר נבחן:
אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. בהצלחה! תאריך הבחינה: 13.2.2012 שם המורה: פרופ' מיכאל אלחדד ד"ר מני אדלר ד"ר אנדרי שרף שם הקורס:
More informationאוניברסיטת בן-גוריון מדור בחינות רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. בהצלחה! מספר נבחן:
אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. בהצלחה! תאריך הבחינה: 5.3.0010 שם המורה: פרופ' מיכאל אלחדד ד"ר מני אדלר ד"ר אנדרי שרף שם הקורס:
More informationתוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות
תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5
More informationהנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת
תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות מערכים מערכים Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices
More informationAlgorithms. Intro2CS week 5
Algorithms Intro2CS week 5 1 Computational problems A computational problem specifies an inputoutput relationship What does the input look like? What should the output be for each input? Example: Input:
More informationגיליון תשובות על תשובות ריקות יינתן 20% מהניקוד!
גיליון תשובות על תשובות ריקות יינתן 20% מהניקוד! מספר נבחן: 30( שאלה 1 סעיף א )7 שני ת'רדים המפעילים את מתודת ה move על אחד משני גלגלים סמוכים מסוג SimpleGear הת'רד הראשון תופס את הגלגל הראשון this( שלו(,
More informationגיליון תשובות מספר נבחן:
גיליון תשובות מספר נבחן: 30( שאלה 1 נקודות( א. ב. התכונה הנשמרת מתייחסת אך ורק למיקום המכוניות בצומת, כלומר למיקום המכוניות בשדה _cars הגישה לשדה זה מסונכרנת, אך מצד שני אין בדיקה של מיקום המכונית טרם
More informationמבוא למדעי המחשב תרגול 13: עצים בינאריים
מבוא למדעי המחשב תרגול 13: עצים בינאריים עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק (בלי צמתים) או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם תרגיל 1 עץ בינארי מסודר
More informationכתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה
פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבנה זכרון ושפת ++C קוד הקורס: 7027810 תאריך בחינה: שאלות לדוגמא משך הבחינה: שעתיים שם המרצים: ד"ר אופיר פלא, ד"ר מירי בן ניסן חומר עזר: פתוח שימוש במחשבון:
More informationמבוא לתכנות מערכות מבחן מועד א' סמסטר חורף
הפקולטה למדעי המחשב פרופ' גיל ברקת נועם שגב, שרי דואק, רן ברואר, דור כהן הטכניון מכון טכנולוגי לישראל 70.70.07.4 מבוא לתכנות מערכות 024.00 מבחן מועד א' סמסטר חורף 07.207.4 הוראות כלליות משך המבחן: 081
More informationאוניברסיטת בן-גוריון מדור בחינות רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. שימו לב: על תשובות ריקות יינתן 20% מהניקוד! בהצלחה!
אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד תשובות מחוץ לגיליון לא יבדקו. שימו לב: על תשובות ריקות יינתן 20% מהניקוד! בהצלחה! תאריך הבחינה: 09.02.2015 שם המורה: ד"ר
More informationהנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת
תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות מערכים Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start
More informationתוכנה 1 * לא בהכרח בסדר הזה
תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים - תזכורת מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות )חתימות(. מימוש דיפולטיבי
More informationתוכנה 1 תרגול 2: מערכים ומבני בקרה
תוכנה 1 תרגול 2: מערכים ומבני בקרה 2 Useful Eclipse Shortcuts Ctrl+1 quick fix for errors, or small refactoring suggestions Ctrl+SPACE code content assist (auto-completion) Auto completion for main create
More informationב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : א' מועד קיץ סמ' שנה תשע"ז 3 שעות משך
More informationתרגילים ופתרונות בשפת - C הסתעפויות
תרגילים ופתרונות בשפת - C הסתעפויות כתב וערך: שייקה בילו תרגיל - 1 כתוב תוכנית שתקבל מהמשתמש שלושה מספרים, ותציג את הגדול מביניהם על המסך. #include void main() int mis1, mis2, mis3, max; printf("please
More informationהנכות 1 םוכיס לוגרת 13 1
תוכנה 1 סיכום תרגול 13 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers
More informationשאלה 1, סעיף ב )11 נק'(
שאלה 1, סעיף א )8 נק'( public static boolean lexlt(string s1, String s2) for (int i=0; i
More informationTutorial 10. Introduction to C++ שימו
Introduction to ++ שימו תרגול זה אינו התרגול הרישמי של הקורס. הוא מבוסס על חוברת התרגולים אך מכיל שינויים, הסברים נוספים ודוגמאות שונות או נוספות. + + תוכנ ית רא שונה ב הכרו ת עם + + תרגול // First ++
More informationתור שימושים בעולם התוכנה
מבוא למדעי המחשב הרצאה : Queue, Iterator & Iterable תור מבנה נתונים אבסטרקטי תור שימושים בעולם התוכנה השימושים של תורים בעולם התוכנה מזכירים מאוד תורים במציאות: )VoIP( )YouTube( מקלדת שידור סרט באינטרנט
More informationתכנות מונחה עצמים משחקים תשע"ו
move semantics 1 תכנות מונחה עצמים ופיתוח משחקים תשע"ו סמנטיקת ההעברה semantics( )Move move semantics 2 מטרה האצה של התוכניות, שיפור בביצועים על ידי חסכון בבנייה והעתקה של אובייקטים זמניים move semantics
More informationעמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף :
עמוד 1 מבוא למדעי המחשב מ' 234114 מבוא למדעי המחשב ח' 234117 מבחן מועד א', סמסטר חורף תשס"ב (תאריך ( 29.1.03 שם משפחה שם פרטי מס' סטודנט âùéä ער äìàù 15 1 15 2 16 3 18 4 16 5 20 6 100 íåëñ חומר עזר: אין
More informationPractical Session - Heap
Practical Session - Heap Heap Heap Maximum-Heap Minimum-Heap Heap-Array A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point). For each node
More informationCommunication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner
Communication Networks (0368-3030) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 3.5.5, 3.7 (5 th ed.) Many slides adapted from: J. Kurose
More informationגיליון תשובות מספר נבחן:
גיליון תשובות מספר נבחן: 30) שאלה 1 ראשית, מספר הערות על מאפייני משחק הקלפים (מטאפורה ש חוּ קה על החיים, הקורס, והמבחן) אשר פורטו בשאלה זו: משחק מרתק המשלב הנאה. ראו מקרה הרב יהודה-אריה מודנה, מגדולי המלומדים
More informationelse if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo()
class BigBrother רשימה מועמדים לתחרות // candidates; private List publc void MakeVote(String name) הפעולה מקבלת שם, מוצאת את המתמודד ומוסיף לו הצבעה אחת // Node p = candidates.getfirst();
More informationמבוא לתכנות בשפת C. Tzachi (Isaac) Rosen
מבוא לתכנות בשפת C מצביעים והקצאה דינאמית כתובות של משתנים לכל משתנה כתובת של המקום שלו בזיכרון כבר ראינו: שם של מערך הוא למעשה הכתובת של התא הראשון )באינדקס 0( של המערך להזכירכם: תא של מערך הינו משתנה
More informationבמידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן
פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: שאלות חזרה למבחן. חשוב: אין להסיק ששאלות אחרות לא יכולות להישאל במבחן, אין להסיק כי נושאים מסויימים בסיליבוס
More informationשים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.
מספר : 804042 שם המרצה: תאריך הבחינה: ד"ר גדעון גרדוול, ד"ר אריאלה ריכרדסון 13/02/2013 משך הבחינה )בדקות(: 150 חומר עזר מותר לשימוש: ללא חומר עזר מחשבון: ללא מחשבון מס' תלמיד: מכון: לב/נוה, טל, טל-דעת,
More informationתוכנה 1 * לא בהכרח בסדר הזה
תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר
More informationPractical Session No. 14 Topological sort,amortized Analysis
Practical Session No. 14 Topological sort,amortized Analysis Topological- Sort Topological sort Ordering of vertices in a directed acyclic graph (DAG) G=(V,E) such that if there is a path from v to u in
More informationמבוא למדעי המחשב השפעת השינוי על סטודנט הרצאה 18: פולימורפיזם ומחלקות אבסטרקטיות אם ברצוננו ששכר הלימוד לא יעלה על 2500.
public class { private static final int COURSE_PRICE = 1000; private String nae; private int id; private int nuofcourses; מבוא למדעי המחשב הרצאה 18 פולימורפיזם ומחלקות אבסטרקטיות תזכורת public (int id,
More informationהערה על הפתרון: בתנאי הקדם אין לבדוק שהמשחק לא השתנה. המתודה מוגדרת היטב ויש לה ערך החזרה למקרה זה.
אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד, תשובות מחוץ לגיליון לא יבדקו. שימו לב: על תשובות ריקות יינתן 20% מהניקוד. בהצלחה! תאריך הבחינה : 6.3.2017 שם המורה : ד"ר
More informationפתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות
פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות שאלה מספר 1 התוכנית מגדירה חמישה משתנים שלמים: השלושה הראשונים הם שלושה מצביעים - *s *t,i. j ושלושה נוספים
More informationלתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions
מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 motivation Proper academic
More informationOperating Systems. Practical Session 4 Threads
Operating Systems Practical Session 4 Threads 1 Threads Executed within a process. Allow multiple independent executions under the same process (container). Possible states: running, ready, blocked, terminated.
More informationהנכות 1 םוכיס לוגרת 13 1
תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב שירותים במנשק הם תמיד
More informationIntroduction to Programming in C תרגול 8
Introduction to Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאה דינמית מבנים תאור הזיכרון של המחשב: מצביעים ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,
More informationתוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב
1 תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 חברת הייטק בתרגיל זה נתרגל מספר נושאים אותם למדנו בשיעורים האחרונים: עיצוב ובניית מודל המורכב ממחלקות לתיאור סביבה
More informationתוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב
תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב Today Static vs. Dynamic binding Equals / hashcode String Immutability (maybe) 2 Static versus run-time
More informationהנכות 1 םוכיס לוגרת 13 1
תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים
More informationתרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }
נושאי התרגול: מה הן פונקציות הגדרת פונקציה,קריאה לפונקציה העברת ארגומנטים,החזרת ערך או void העברת משתנים פרימיטיביים ומערכים לפונקציה העמסה של פונקציות תרגול 4 פונקציות מוטיבציה לעיתים,אנו נזקקים לבצע
More informationEngineering Programming A
Engineering Programming A תרגול 5 25.11.2012 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1]
More informationAmortized Analysis, Union-Find,
Practical Session No. 13 Amortized Analysis, Union-Find, AMORTIZED ANALYSIS Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs
More informationמבוא למדעי המחשב תירגול 3:
מבוא למדעי המחשב תירגול 3: לולאות, קלט, וטיפוסים תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char מבוא למדעי המחשב מ' - תירגול 3 2 לולאת while מבוא למדעי המחשב מ' - תירגול 3 3 לולאת while
More informationמבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2
מבוא למדעי המחשב תירגול 2: לולאות, קלט, וטיפוסים 1 תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char 2 לולאת while 3 לולאת while קטע קוד מתבצע שוב ושוב כל עוד תנאי מתקיים int number = 40; while(number>0)
More informationתרשים המחלקות ותרשים העצמים
1 תרשים המחלקות ותרשים העצמים חלק שלישי: ניתוח ועיצוב מערכות מידע באמצעות שימוש ב- UML ומתודולוגיית ה- Process )UP( Unified E1 3 E2 2 Outline UML Introduction Class Diagram Class Association Self association
More informationExams questions examples
Exams questions examples 1 Exam example 1. y - x what נק' ( לפניך הפעולה הרקורסיבית מקבלת כפרמטרים שני מספרים שלמים ו 10 )? מה יהיה הפלט כתוצאה מזימון הפעולה what public static int what(int x, int y) if(x
More informationקורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור
קורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור מרצה: ליאור שפירא liors@post.tau.ac.il אתר שלי: אתר הקורס: שעת קבלה: יום ג' 14-15
More information$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>
תכנות בסיסי בשפת C תוכנית ראשונה תוכנית ב - C מורכבת מאוסף פונקציות והגדרות טיפוסים. C איננה שפה object oriented כך שאין בה מושגים של מחלקה ואובייקט. נתחיל בתוכנית הראשונה המסורתית, זו המדפיסה הודעה יחידה
More informationעקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter.
עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. Type Inference System The Type Inference System is a Scheme Implementation of the algorithm for Type Checking and Inference
More informationדף הדרכה ליצירת שרת/ לקוח עם GUI
דף הדרכה ליצירת שרת/ לקוח עם GUI בשיעורים הקודמים למדנו כיצד ליצור שרת לקוח פשוט, ויצירת טופס המכיל פקדים כלומר יצירת GUI למשתמש, בשיעור זה נרצה להראות את הדרך לשילוב בין השניים כלומר ליצור לקוח client
More informationהקלחמ ה תמרב ת ונ וכ ת (static members ) יליזרב דהוא Java תפשב ם דקת מ תונכת ביבא ל ת תטיסרבינוא
ת כו נו ת ברמת ה מחלקה (static members) אוהד ברזילי תכנות מ תקד ם בשפת Java אוניברסיטת ת ל אביב static keyword שדות המוגדרים כ static מציינים כי הם מוגדרים ברמת המחלקה ולא ברמת עצם כל העצמים של אותה מחלקה
More informationתזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים
מבוא למדעי המחשב הרצאה 2: עצי חיפוש בינאריים תזכורת: עץבינארי בנוסףלרשימהמקושרת ומערך, הצגנומבנהנתונים קונקרטיחדש עץבינארי עץבינארימורכבמ: שורש תת-עץשמאלי תת-עץימני A B C D E F G 2 תזכורת: שורש ותתי-עצים
More informationרשימות דילוגים Skip Lists
Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the
More informationהפלט אחרי הביצוע של ההוראה :what3(root)
שאלה )18 1 נקודות( סעיף א. )11 נקודות( הפלט אחרי הביצוע של ההוראה :what3(root) 15 10 20 26 12 18 25 3 28 14 13 סעיף ב. )3 נקודות( הפונקציה what1 מוסיפה את האיבר node בסוף הרשימה ומעדכנת את ראש הרשימה *ph
More informationנתונות שתי המחלקות הבאות:
ממבחנים שאלות מבנה הנתונים תור (queue) הוא מבנה הדומה למחסנית (stack) שנלמדה בקורס. לתור ניתן להוסיף איברים (ע"י פעולה הנקראת (enqueue וניתן להסיר את האיבר שבראש התור,(dequeue) כלומר האיבר הוותיק ביותר
More informationNir Adar
שפת Java למתכנתי ++C - חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות
More informationPage 1 1 מס' מחברת : מס' ת.ז. : סמסטר א' תשס"ט מועד: א' 16/02/2009 משך הבחינה: שלוש שעות אין להשתמש בחומר עזר בחינה בקורס תכנות ב- C מרצים: אלון לרנר, עופר פסטרנק מתרגלים:
More informationלוח מבחנים מבוסס על דף עבודה ממקור לא ידוע. פעולה בונה היוצרת לוח מבחנים )ריק(. void Add (Test t)
1 לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע 1. המחלקה מבחן Test מגדירה מבחן לפי תרשים uml הבא: להלן ממשק המחלקה Test תיאור הפעולה פעולה בונה היוצרת מבחן במקצוע subject ובתאריך date פעולה המחזירה מקצוע
More informationProgramming in C תרגול 8
Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאת זיכרון דינאמית Malloc free מצביעים תאור הזיכרון של המחשב: ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,
More informationספרית התבניות הסטנדרטית (STL) כתיבת אלגוריתמים גנריים מצביעים חכמים. .vector. list iterator נכיר תחילה את האוסף הפשוט ביותר בספריה
ספרית התבניות הסטנדרטית (STL) כתיבת אלגוריתמים גנריים מצביעים חכמים vector list iterator 2 קיימת בכל מימוש של ++C מכילה אוספים (Containers) ואלגוריתמים נכיר תחילה את האוסף הפשוט ביותר בספריה.vector מערך
More informationGraph Database, think different!
Graph Database, think different! Written by Roni Licher Winter 2014-2015 236363 - Database Systems - Technion Nodes Edges (directed or not) Properties Neo4j and Cypher 4j Graph database (Like SQL server
More informationמבוא לתכנות ב- JAVA מעבדה 4
מבוא לתכנות ב- JAVA מעבדה 4 מה בתרגול מערכים מחרוזות מערך חד מימדי מערך הוא מבנה המחזיק סדרה של איברים מאותו טיפוס גודל המערך הוא קבוע )נקבע בעת יצירת המערך( הגישה לכל איבר היא באמצעות אינדקס למה לי מערך?
More informationתוכנה 1 תרגול מספר 10: תרגיל חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב
1 תוכנה 1 תרגול מספר 10: תרגיל חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 חברת הייטק בתרגיל זה נתרגל מספר נושאים אותם למדנו בשיעורים האחרונים: עיצוב ובניית מודל המורכב ממחלקות לתיאור סביבה
More informationComputer Programming A תרגול 9
Computer Programming A תרגול 9 1 מטרת התרגול הקצאת זיכרון מבנים רשימות דינאמית ניהול הזיכרון בתוכנית עד כה כל המשתנים שראינו היו לוקאליים. משך הקיום של משתנים מקומיים הוא הזמן אשר הפונקציה בה הם נמצאים
More informationתוכנה 1 תרגול מספר 13
1 תוכנה 1 תרגול מספר 13 ו- HashCode Equals עוד על טיפוסים מוכללים )Advanced Generics( חריגים )Exceptions( בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 ו- HASHCODE EQUALS 3 תזכורת: המחלקה Object package
More informationתוכנה 1 תרגול מספר 13
1 2 תוכנה 1 תרגול מספר 13 ו- HashCode Equals עוד על טיפוסים מוכללים )Advanced Generics( ו- HASHCODE EQUALS חריגים )Exceptions( בית הספר למדעי המחשב אוניברסיטת תל אביב 1 3 4 package java.lang; תזכורת: המחלקה
More informationתרגול 6 רקורסיה ותכנות מונחה עצמים
מבוא למדעי המחשב 2017 תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 1 ראינו בהרצאה רקורסיה תכנות מונחה עצמים: מחלקה ואובייקט שדות, בנאים ושיטות מימוש מערך דינאמי של ראשוניים בתרגול היום רקורסיה הדפסת
More informationהוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים
גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשע"ב, 2012 מועד הבחינה: משרד החינוך 714001 סמל השאלון: תכנות מערכות בשפת C ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח
More informationתוך כדי ריצה יכולה לבוא אירוע שמפסיק את מהלך הריצה )או באופן לא רצוני כגון שיחה נכנסת או באופן רצוני על ידי זימון )pauseapp()
בואו נכיר את ה- Midlet מחזור החיים של ה- Midlet במהלך חיי ה- Midlet הוא נמצא ב- 3 מצבים. מצב ריצה שמזמן את הפעולה StartApp() תוך כדי ריצה יכולה לבוא אירוע שמפסיק את מהלך הריצה )או באופן לא רצוני כגון שיחה
More informationסכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)
1 תבנית צבירה תבניות אלגוריתמיות לפעולות רקורסיביות תבנית צבירה לסדרת ערכים: סכום (סדרת ערכים) החזר את ערך הקצה + סכום (סדרת הערכים ללא ערך הקצה) דוגמא: פעולה המחזירה את סכום הספרות שבמספר שלם לא שלילי
More informationObject-Oriented Analysis and Design
Object-Oriented Analysis and Design Session 2a: Structure Modeling Object-Oriented Analysis and Design 1 Outline 1. Objects and Classes 4 2. Basic Association Concepts.17 3. Class Diagrams and Object (instance)
More informationתוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes בית הספר למדעי המחשב אוניברסיטת תל אביב
תוכנה 1 תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 STATIC VS. DYNAMIC BINDING 3 Static versus Dynamic Binding public class Account
More informationהיצביט ומ - ןוכית ת וי נבת
תבני ו ת תיכון Patterns) (Design תבנ יו ת תיכון - מו טיבציה בחיי היום יום אנחנו מתארים דברים תוך שימוש בתבניות חוזרות: "מכונית א' היא כמו מכונית ב', אבל יש לה 2 דלתות במקום 4" "אני רוצה ארון כמו זה, אבל
More informationחוברת תרגילים לתרגול יסודות התכנות
פעולות קלט ופלט חוברת תרגילים לתרגול יסודות התכנות קלוט 3 מספרים. סכם אותם, הצג את שלושתם ואת תוצאת הסיכום. int num1, num2, num3,sum; Console.WriteLine("please enter 3 numbers"); num1 = int.parse(console.readline());
More information